Mô tả Thuật_toán_Luhn

Thuật toán dùng để tính toán số này như sau:Bước 1: Nhân đôi giá trị của những số ở vị trí chẵn tính từ phải sang bao gồm cả số Check Digit (là các số ở vị trí 2, 4, 6... 14), trong đó số thứ 1 là số ngoài cùng phía bên phải của chuỗi số IMEI (Check Digit).Bước 2: Cộng dồn tất cả các chữ số riêng lẻ của các số thu được ở bước 1, cùng với các số ở vị trí lẻ (là các số ở vị trí 1, 3, 5,...,13) trong chuỗi số IMEI.Bước 3: Nếu kết quả ở bước 2 là một số chia hết cho 10 thì số A sẽ bằng 0. Nếu kết quả ở bước 2 không chia hết cho 10 thì A sẽ bằng số chia hết cho 10 lớn hơn gần nhất trừ đi chính kết quả đó.Ví dụ: số IMEI là 350880-10-195032-A, trong đó A là số kiểm tra cần phải tính toán. Bước 1: 10, 16, 0, 0, 18, 0, 4 Bước 2: (1 + 0 + 1 + 6 + 0 + 0 + 1 + 8 + 0 + 4) + (3 + 0 + 8 + 1 + 1 + 5 + 3) = 42 Bước 3: A = 50 – 42 = 8 Như vậy số IMEI hợp lệ phải là 350880-10-195032-8.

Hơi khó hiểu